package org.poem.cli.annotation;

import java.lang.annotation.*;

/**
 * @author poem
 * 命令行工具
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Cli {
    /**
     * 选项的长名称
     *
     * @return
     */
    String longOpt();
    /**
     * 參數名称
     *
     * @return
     */
    String name();

    /**
     * 指定选项是否接受参数
     *
     * @return
     */
    boolean hasArg() default true;

    /**
     * 选项是否必填
     *
     * @return
     */
    boolean required() default false;

    /**
     * 选项的描述
     *
     * @return
     */
    String desc() default "";

}
